While Firefox is a common household name for a lot of people, Upstream Challenge isn't. So let me clarify.

Upstream Challenge is a competition encouraging Romanian (for the moment) students to contribute to Open Source projects. The motivation behind the competition is that this sort of activity greatly increases a student's technical skills and engagement, but it might also represent a significant contribution for the chosen Open Source project.

Just like in previous years, we hope that Firefox will attract a significant number of contributions. However, finding your way into a big project might be a difficult task for most, so let this be your orientation into contributing to Firefox.

For a long time, the instructions for newcomers were just a disorganized wiki page, but thanks to the efforts of +Brian R. Bondy we now have codefirefox.com which offers detailed video tutorials with all you need to get you started. The quality and importance of the tutorials cannot be overstated. Even seasoned volunteers might have something to learn from it.

You can still find textual instructions on MDN: https://developer.mozilla.org/en-US/docs/Simple_Firefox_build

OK. So now you've completed all of the tutorials (or not), you'll want to start coding. The finding-a-bug tutorial explains how to do this. However, some of you might want to start with something easier. The easiest things you can do is to fix spelling and coding style issues in the code. Just file a bug and attach the patch. These are really easy to do, and get reviewed a lot faster. (This is probably true for other projects as well). One level more difficult is to fix packing issues with C++ structs in Firefox.  Nathan wrote a great article about this. Also, you can always dive right in with good-first-bugs or any bug of your own choosing.

So good luck, and happy coding!